# 3.	编写Python程序;
# (1)	设计一个学生类Student，要求：
class Student(object):

# ①	编写无参构造方法，添加姓名name，成绩score和最高成绩my_max 三个实例属性，
# 其中姓名默认值为空字符串，
# 成绩类型为空列表，保存学生三门课程的成绩
# 最大值默认值为0，保存三门课中的最高成绩
    def __init__(self):
        self.name = ''
        self.score = []
        self.my_max = 0

    # ②	编写静态方法，打印：我是学生，我爱学习
    @staticmethod
    def kouhao():
        print('我是学生，我爱学习')

    # ③	编写打印方法，返回一个格式化字符串，格式为：学生姓名：xx  成绩为：[xx, xx,xx]
    def __str__(self):
        return f'学生姓名：{self.name}  成绩为：{self.score!r}'

    # ④	编写实例方法set_info,接受姓名和三门课的成绩，分别赋值给实例属性
    def set_info(self, name, s1, s2, s3):
        self.name = name
        self.score = [s1, s2, s3]

    # ⑤	定义函数get_max，可以获得学生的三门课程中的最高成绩，并赋值给属性my_max，输出最高成绩
    def get_max(self):
        xmax = max(self.score)
        self.my_max = xmax
        print(f'{self.name}的最高成绩是{self.my_max}')


if '__main__' == __name__:
    # (2)	创建一个学生对象
    s1 = Student()

    # (3)	调用静态方法，实现打印效果
    s1.kouhao()

    # (4)	调用set_info方法，传递四个参数，例如：张三 90 85  95
    s1.set_info('张三', 90, 85, 95)

    # (5)	输出对象
    print(s1)

    # (6)	调用get_max方法，输出最高成绩
    s1.get_max()

